<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-linux-headers" role="wrap">
  <?dbhtml filename="linux-headers.html"?>

  <sect1info condition="script">
    <productname>linux-headers</productname>
    <productnumber>&linux-version;</productnumber>
    <address>&linux-url;</address>
  </sect1info>

  <title>Заголовочные файлы API Linux-&linux-version;</title>

  <indexterm zone="ch-system-linux-headers">
    <primary sortas="a-Linux">Linux</primary>
    <secondary>API headers</secondary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>Заголовочные файлы Linux API (в linux-&linux-version;.tar.xz) предоставляют API для использования его библиотекой C (Glibc).</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&linux-headers-ch6-sbu;</seg>
        <seg>&linux-headers-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Установка заголовочных файлов Linux API</title>

    <para>Ядро Linux должно предоставить интерфейс API (программный интерфейс приложения, интерфейс прикладного программирования) для использования их системной библиотекой Си (Пакет Glibc в LFS). Это можно сделать путём извлечения необходимых заголовочных файлов которые содержатся в архиве  с исходным кодом ядра.</para>

    <para>Убедитесь, что нет устаревших файлов и зависимостей от предыдущих компиляций. Команда, указанная ниже, выполнит более интенсивную очистку дерева исходных текстов. Иногда она является необходимой и можно выполнять эту команду после каждого наложения заплаток.</para>

<screen><userinput remap="pre">make mrproper</userinput></screen>

    <para>Теперь, необходимо извлечь видимые пользователем заголовочные файлы ядра из дерева исходного кода. Они будут помещены в промежуточный локальный каталог и скопированы в необходимое место, потому что процесс распаковки удаляет любые существующие файлы в целевом каталоге. Также имеются некоторые скрытые файлы, используемые разработчиками ядра. Такие файлы не требуются в LFS и могут быть удалены из промежуточного каталога.</para>

<screen><userinput remap="make">make INSTALL_HDR_PATH=dest headers_install
find dest/include \( -name .install -o -name ..install.cmd \) -delete
</userinput><userinput remap="install">cp -rv dest/include/* /usr/include</userinput></screen>

  </sect2>

  <sect2 id="contents-linux-headers" role="content">
    <title>Содержимое пакета Linux API Headers</title>

    <segmentedlist>
      <segtitle>Установленные заголовочные файлы</segtitle>
      <segtitle>Установленные каталоги</segtitle>

      <seglistitem>
        <seg>/usr/include/asm/*.h, /usr/include/asm-generic/*.h,
        /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/misc/*.h,
        /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h,
        /usr/include/sound/*.h, /usr/include/video/*.h,
        and /usr/include/xen/*.h</seg>
        <seg>/usr/include/asm, /usr/include/asm-generic, /usr/include/drm,
        /usr/include/linux, /usr/include/misc, /usr/include/mtd,
        /usr/include/rdma, /usr/include/scsi, /usr/include/sound,
        /usr/include/video, and /usr/include/xen</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Краткое описание</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="asm">
        <term><filename class="headerfile">/usr/include/asm/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API ASM</para>
          <indexterm zone="ch-system-linux-headers asm">
            <primary sortas="e-/usr/include/asm/*.h">/usr/include/asm/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="asm-generic">
        <term><filename class="headerfile">/usr/include/asm-generic/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API ASM</para>
          <indexterm zone="ch-system-linux-headers asm-generic">
            <primary sortas="e-/usr/include/asm-generic/*.h">/usr/include/asm-generic/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="drm">
        <term><filename class="headerfile">/usr/include/drm/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API DRM</para>
          <indexterm zone="ch-system-linux-headers drm">
            <primary sortas="e-/usr/include/drm/*.h">/usr/include/drm/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="linux">
        <term><filename class="headerfile">/usr/include/linux/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API</para>
          <indexterm zone="ch-system-linux-headers linux">
            <primary sortas="e-/usr/include/linux/*.h">/usr/include/linux/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

		<varlistentry id="misc">
        <term><filename class="headerfile">/usr/include/misc/*.h</filename></term>
        <listitem>
          <para>The Linux API Miscellaneous Headers</para>
          <indexterm zone="ch-system-linux-headers misc">
            <primary sortas="e-/usr/include/misc/*.h">/usr/include/misc/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mtd">
        <term><filename class="headerfile">/usr/include/mtd/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API MTD</para>
          <indexterm zone="ch-system-linux-headers mtd">
            <primary sortas="e-/usr/include/mtd/*.h">/usr/include/mtd/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="rdma">
        <term><filename class="headerfile">/usr/include/rdma/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API RDMA</para>
          <indexterm zone="ch-system-linux-headers rdma">
            <primary sortas="e-/usr/include/rdma/*.h">/usr/include/rdma/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="scsi">
        <term><filename class="headerfile">/usr/include/scsi/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API SCSI</para>
          <indexterm zone="ch-system-linux-headers scsi">
            <primary sortas="e-/usr/include/scsi/*.h">/usr/include/scsi/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="sound">
        <term><filename class="headerfile">/usr/include/sound/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API Sound</para>
          <indexterm zone="ch-system-linux-headers sound">
            <primary sortas="e-/usr/include/sound/*.h">/usr/include/sound/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="video">
        <term><filename class="headerfile">/usr/include/video/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API Video</para>
          <indexterm zone="ch-system-linux-headers video">
            <primary sortas="e-/usr/include/video/*.h">/usr/include/video/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="xen">
        <term><filename class="headerfile">/usr/include/xen/*.h</filename></term>
        <listitem>
          <para>Заголовочные файлы Linux API Xen</para>
          <indexterm zone="ch-system-linux-headers xen">
            <primary sortas="e-/usr/include/xen/*.h">/usr/include/xen/*.h</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
